package com.guodi.map.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * @描述：地图图层表
 * @作者: 代鹏刚
 * @日期: 2019-12-11
 */
@Data
@ApiModel(value="地图图层表")
public class ApiMapLayer implements Serializable {

    private static final long serialVersionUID = 1L;

//    @NotBlank(message = "图层名称不能为空")
    @ApiModelProperty(value = "图层名称", required = true)
    private String name;

    @ApiModelProperty(value = "图层类型（1.矢量 2.栅格 3. REST  4.WMS  5.WFS  6.底图）")
    private String layerType;

    @ApiModelProperty(value = "要素类型（1:点，2：线，3：面，4：栅格(2维)，5：栅格(2.5维)，6：影像）")
    private String featureType;

//    @NotBlank(message = "图层URL地址不能为空")
    @ApiModelProperty(value = "图层URL地址", required = true)
    private String layerUrl;

    @ApiModelProperty(value = "图层表名")
    private String layerTable;

    @ApiModelProperty(value = "服务名称")
    private String serverName;

    @ApiModelProperty(value = "服务地址")
    private String serverUrl;

    @ApiModelProperty(value = "数据表名")
    private String dataTable;

    @ApiModelProperty(value = "加载方式（1.动态加载，2瓦片加载）", required = true)
    private String loadType;

    @ApiModelProperty(value = "坐标系")
    private String spatialReference;

    @ApiModelProperty(value = "四至坐标")
    private String initialExtent;

    @ApiModelProperty(value = "图层排序")
    private Double sort;

    @ApiModelProperty(value = "备注")
    private String remark;

    @NotBlank(message = "所属机构ID不能为空")
    @ApiModelProperty(value = "所属机构ID", required = true)
    private String orgId;

    @NotBlank(message = "父节点ID不能为空")
    @ApiModelProperty(value = "父节点ID", required = true)
    private String parentId;

    @NotBlank(message = "发布软件类型")
    @ApiModelProperty(value = "发布软件类型")
    private String releaseType;

    @ApiModelProperty(value = "服务授权key")
    private String authKey;

    @ApiModelProperty(value = "数据来源")
    private String dataSource;

    @ApiModelProperty(value = "更新时间")
    private String updateTime;

    @ApiModelProperty(value = "经度（三维-中心点）")
    private String longitude;

    @ApiModelProperty(value = "纬度（三维-中心点）")
    private String latitude;

    @ApiModelProperty(value = "高度（三维-中心点）")
    private String height;

    @ApiModelProperty(value = "方位角（三维-中心点）")
    private String azimuthAngle;

    @ApiModelProperty(value = "俯视角（三维-中心点）")
    private String depressionAngle;

    @ApiModelProperty(value = "高程模式（三维-高程）")
    private String elevationPattern;

    @ApiModelProperty(value = "高程字段（三维-高程）")
    private String elevationField;

    @ApiModelProperty(value = "偏移（三维-高程）")
    private String deviation;

    @ApiModelProperty(value = "单位（三维-高程）")
    private String unit;

    @ApiModelProperty(value = "延迟加载(1:是，0:否)")
    private Integer lazyLoad;

    @ApiModelProperty(value = "延迟时间(ms)")
    private Integer lazyTime;

    @ApiModelProperty(value = "底图类型")
    private String baseMapType;

    @ApiModelProperty(value = "图标类型")
    private String alias;

    @ApiModelProperty("全图范围")
    private String fullExtent;

    @ApiModelProperty("切片方案")
    private String lods;

    @ApiModelProperty("瓦片矩阵集")
    private String tileMatrixSet;
}
